Tootsville::Infinity-Join

Function

Infinity-Join names a function, with lambda list (D USER RECIPIENT/S):

Join a room or place.

Lisp JOIN = JSON join

The “room” form is no longer needed. We no longer have rooms.

The “place” form using latitude and longitude is used instead.

Usage

{ c: "join", d: { room: NEW-ROOM, [ from: OLD-ROOM ] } }

{ c: "join", d: { lat: LAT, long: LONG, alt: ALT, world: WORLD }}

Status 200 OK

You may get this reply for joining a place instead:

{ from: "roomJoin",
  status: true,
  lat: LAT,
  long: LONG,
  alt: ALT,
  world: WORLD }

This will usually be followed by an rv packet with the local room vars (see TOOTSVILLE LOCAL-ROOM-VARS).

NOTE the inconsistency: the command is join, but the reply comes from roomJoin

Joining a room used to return a packet like:

{ from: "roomJoin",
  status: true,
  room: MONIKER }

You will never get this reply in Romance 2.0.

Error Return values (room join form)

zone.notFound
The user is not in a Zone
room.noMoniker
No room moniker was given to be joined
room.notFound
The room moniker does not refer to an actual room in this Zone
room.full
The room is too full (too many users)

410 Gone

Removed in 2.0.

Attempting to call join a room will always result in

{ from: "roomJoin",
  status: false,
  err: "room.notFound",
  error: "There are no rooms in Tootsville V." }

Changes from 1.2 to 2.0

In Romance 1.2, the room was divided into “rooms.” This is no longer the case, so there is never any need to join a room.

The success and error return codes are documented here for completeness, but only room.notFound will be returned.

The new form, taking latitude and longitude, was added in 2.0.

File

Defined in file src/infinity/legacy-commands.lisp.